package com.firestone.bean.entity.elasticsearch.dm;

import com.firestone.bean.entity.elasticsearch.nested.Category;
import com.firestone.bean.entity.elasticsearch.nested.InterventionNested;
import com.firestone.bean.entity.elasticsearch.nested.OrgInfo;
import com.firestone.bean.entity.elasticsearch.nested.WeightJson;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: TODO（国外临床试验表）
 * @author wuzhenyi
 * @date 2018年4月18日 13:15
 * @param
 **/
@Document(indexName = "dm_map_activity", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapClinicalTrials implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    private String id;
    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_check_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_dm_update_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;
    
    /**
    * @Fields brief_summary : TODO(简介)
    */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String brief_summary;
    
    /**
    * @Fields brief_title : TODO(标题)
    */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String brief_title;
    
    /**
    * @Fields category : TODO(类别)
    */
    @Field(type = FieldType.Nested)
    private List<Category> category;
   
    /**
    * @Fields city : TODO(城市)
    */
    @Field(type = FieldType.keyword)
    private String city;
    
    /**
    * @Fields completion_date : TODO(完成时间)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String completion_date;
    
    /**
    * @Fields conditions : TODO(适应症)
    */
    @Field(type = FieldType.text,analyzer = "keyword")
    private String conditions;

    /**
    * @Fields country : TODO(国家)
    */
    @Field(type = FieldType.keyword)
    private String country;
    
    /**
    * @Fields criteria : TODO(试验患者信息)
    */
    @Field(type = FieldType.text,index = false)
    private String criteria;
    
    /**
    * @Fields current_secondary_outcome : TODO(目前次要成果)
    */
    @Field(type = FieldType.keyword)
    private String current_secondary_outcome;
    
    /**
    * @Fields detailed_description : TODO(细节描述)
    */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String detailed_description;

    /**
    * @Fields enrollment : TODO(登记)
    */
    @Field(type = FieldType.keyword)
    private String enrollment;

    /**
    * @Fields ext_company : TODO()
    */
    @Field(type = FieldType.text, analyzer = "tab_analyzer")
    private String ext_company;
    
    /**
    * @Fields firstreceived_date : TODO(首次收到时间)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String firstreceived_date;
    
    /**
    * @Fields firstreceived_results_date : TODO(首次收到结果时间)
    */
    @Field(type = FieldType.keyword)
    private String firstreceived_results_date;
    
    /**
    * @Fields id_info : TODO(id信息)
    */
    @Field(type = FieldType.keyword)
    private String id_info;

    /**
    * @Fields intervention_nested : TODO(干预信息)
    */
    @Field(type = FieldType.Nested)
    private List<InterventionNested> intervention_nested;
    
    /**
    * @Fields is_fda_regulated : TODO(是否fda调配)
    */
    @Field(type = FieldType.keyword)
    private String is_fda_regulated;
    
    /**
    * @Fields is_section_801 : TODO()
    */
    @Field(type = FieldType.keyword)
    private String is_section_801;
    
    /**
    * @Fields keyword : TODO(关键词)
    */
    @Field(type = FieldType.keyword)
    private String keyword;
    
    /**
    * @Fields lastchanged_date : TODO(最后变更时间)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String lastchanged_date;
    
    /**
    * @Fields lead_sponsor : TODO(主要赞助者)
    */
    @Field(type = FieldType.keyword)
    private String lead_sponsor;
    
    /**
    * @Fields lead_sponsor_nested : TODO(主要赞助者机构)
    */
    @Field(type = FieldType.Nested)
    private String lead_sponsor_nested;
    
    /**
    * @Fields nct_id : TODO(nct号)
    */
    @Field(type = FieldType.keyword)
    private String nct_id;
    
    /**
    * @Fields official_title : TODO(正式标题)
    */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String official_title;

    /**
    * @Fields org_info : TODO()
    */
    @Field(type = FieldType.Nested)
    private List<OrgInfo> org_info;
    
    /**
    * @Fields overall_status : TODO(状态)
    */
    @Field(type = FieldType.keyword)
    private String overall_status;
    
    /**
    * @Fields oversight_info : TODO(监督信息)
    */
    @Field(type = FieldType.keyword)
    private String oversight_info;
    
    /**
    * @Fields phase : TODO(临床试验阶段)
    */
    @Field(type = FieldType.keyword)
    private String phase;
    
    /**
    * @Fields phase_text : TODO(临床试验阶段（包含phase）)
    */
    @Field(type = FieldType.keyword)
    private String phase_text;
    
    /**
    * @Fields primary_completion_date : TODO(主要结束时间)
    */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String primary_completion_date;

    /**
    * @Fields principal_investigators : TODO(主要研究者)
    */
    @Field(type = FieldType.keyword)
    private String principal_investigators;

    /**
    * @Fields province : TODO(省份)
    */
    @Field(type = FieldType.keyword)
    private String province;
    
    /**
    * @Fields removed_countries : TODO(去除国家)
    */
    @Field(type = FieldType.keyword)
    private String removed_countries;

    /**
    * @Fields responsible_party : TODO()
    */
    @Field(type = FieldType.keyword)
    private String responsible_party;
    
    /**
    * @Fields sponsors : TODO(赞助者和类型)
    */
    @Field(type = FieldType.keyword)
    private String sponsors;
    
    /**
    * @Fields start_date : TODO(开始时间)
    */
    @Field(type = FieldType.keyword)
    private String start_date;
    
    /**
    * @Fields study_design : TODO(试验设计)
    */
    @Field(type = FieldType.keyword)
    private String study_design;

    /**
    * @Fields study_type : TODO(研究类型)
    */
    @Field(type = FieldType.keyword)
    private String study_type;
    
    /**
    * @Fields update_time : TODO(更新时间)
    */
    @Field(type = FieldType.keyword)
    private String update_time;
    
    /**
    * @Fields verification_date : TODO(认证时间)
    */
    @Field(type = FieldType.keyword)
    private String verification_date;
    
    /**
    * @Fields weight_json : TODO(字段来源)
    */
    @Field(type = FieldType.keyword)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String SYS_add_time) {
        this.SYS_add_time = SYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String SYS_check_time) {
        this.SYS_check_time = SYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String SYS_dm_update_time) {
        this.SYS_dm_update_time = SYS_dm_update_time;
    }

    public String getBrief_summary() {
        return brief_summary;
    }

    public void setBrief_summary(String brief_summary) {
        this.brief_summary = brief_summary;
    }

    public String getBrief_title() {
        return brief_title;
    }

    public void setBrief_title(String brief_title) {
        this.brief_title = brief_title;
    }

    public List<Category> getCategory() {
        return category;
    }

    public void setCategory(List<Category> category) {
        this.category = category;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCompletion_date() {
        return completion_date;
    }

    public void setCompletion_date(String completion_date) {
        this.completion_date = completion_date;
    }

    public String getConditions() {
        return conditions;
    }

    public void setConditions(String conditions) {
        this.conditions = conditions;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCriteria() {
        return criteria;
    }

    public void setCriteria(String criteria) {
        this.criteria = criteria;
    }

    public String getCurrent_secondary_outcome() {
        return current_secondary_outcome;
    }

    public void setCurrent_secondary_outcome(String current_secondary_outcome) {
        this.current_secondary_outcome = current_secondary_outcome;
    }

    public String getDetailed_description() {
        return detailed_description;
    }

    public void setDetailed_description(String detailed_description) {
        this.detailed_description = detailed_description;
    }

    public String getEnrollment() {
        return enrollment;
    }

    public void setEnrollment(String enrollment) {
        this.enrollment = enrollment;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getFirstreceived_date() {
        return firstreceived_date;
    }

    public void setFirstreceived_date(String firstreceived_date) {
        this.firstreceived_date = firstreceived_date;
    }

    public String getFirstreceived_results_date() {
        return firstreceived_results_date;
    }

    public void setFirstreceived_results_date(String firstreceived_results_date) {
        this.firstreceived_results_date = firstreceived_results_date;
    }

    public String getId_info() {
        return id_info;
    }

    public void setId_info(String id_info) {
        this.id_info = id_info;
    }

    public List<InterventionNested> getIntervention_nested() {
        return intervention_nested;
    }

    public void setIntervention_nested(List<InterventionNested> intervention_nested) {
        this.intervention_nested = intervention_nested;
    }

    public String getIs_fda_regulated() {
        return is_fda_regulated;
    }

    public void setIs_fda_regulated(String is_fda_regulated) {
        this.is_fda_regulated = is_fda_regulated;
    }

    public String getIs_section_801() {
        return is_section_801;
    }

    public void setIs_section_801(String is_section_801) {
        this.is_section_801 = is_section_801;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getLastchanged_date() {
        return lastchanged_date;
    }

    public void setLastchanged_date(String lastchanged_date) {
        this.lastchanged_date = lastchanged_date;
    }

    public String getLead_sponsor() {
        return lead_sponsor;
    }

    public void setLead_sponsor(String lead_sponsor) {
        this.lead_sponsor = lead_sponsor;
    }

    public String getLead_sponsor_nested() {
        return lead_sponsor_nested;
    }

    public void setLead_sponsor_nested(String lead_sponsor_nested) {
        this.lead_sponsor_nested = lead_sponsor_nested;
    }

    public String getNct_id() {
        return nct_id;
    }

    public void setNct_id(String nct_id) {
        this.nct_id = nct_id;
    }

    public String getOfficial_title() {
        return official_title;
    }

    public void setOfficial_title(String official_title) {
        this.official_title = official_title;
    }

    public List<OrgInfo> getOrg_info() {
        return org_info;
    }

    public void setOrg_info(List<OrgInfo> org_info) {
        this.org_info = org_info;
    }

    public String getOverall_status() {
        return overall_status;
    }

    public void setOverall_status(String overall_status) {
        this.overall_status = overall_status;
    }

    public String getOversight_info() {
        return oversight_info;
    }

    public void setOversight_info(String oversight_info) {
        this.oversight_info = oversight_info;
    }

    public String getPhase() {
        return phase;
    }

    public void setPhase(String phase) {
        this.phase = phase;
    }

    public String getPhase_text() {
        return phase_text;
    }

    public void setPhase_text(String phase_text) {
        this.phase_text = phase_text;
    }

    public String getPrimary_completion_date() {
        return primary_completion_date;
    }

    public void setPrimary_completion_date(String primary_completion_date) {
        this.primary_completion_date = primary_completion_date;
    }

    public String getPrincipal_investigators() {
        return principal_investigators;
    }

    public void setPrincipal_investigators(String principal_investigators) {
        this.principal_investigators = principal_investigators;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getRemoved_countries() {
        return removed_countries;
    }

    public void setRemoved_countries(String removed_countries) {
        this.removed_countries = removed_countries;
    }

    public String getResponsible_party() {
        return responsible_party;
    }

    public void setResponsible_party(String responsible_party) {
        this.responsible_party = responsible_party;
    }

    public String getSponsors() {
        return sponsors;
    }

    public void setSponsors(String sponsors) {
        this.sponsors = sponsors;
    }

    public String getStart_date() {
        return start_date;
    }

    public void setStart_date(String start_date) {
        this.start_date = start_date;
    }

    public String getStudy_design() {
        return study_design;
    }

    public void setStudy_design(String study_design) {
        this.study_design = study_design;
    }

    public String getStudy_type() {
        return study_type;
    }

    public void setStudy_type(String study_type) {
        this.study_type = study_type;
    }

    public String getUpdate_time() {
        return update_time;
    }

    public void setUpdate_time(String update_time) {
        this.update_time = update_time;
    }

    public String getVerification_date() {
        return verification_date;
    }

    public void setVerification_date(String verification_date) {
        this.verification_date = verification_date;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
